Apparatus and method for providing texture of a moving image to a surface of an object to be displayed

ABSTRACT

Image processing method and apparatus for producing an image from image data provides an image memory including a drawing area to store image data of an object to be drawn and a texture area to store texture data to decorate the object, a supply circuit for supplying image data to the image memory, a selector for selectively supplying the image data from the supply circuit to the drawing area and the texture area, an image synthesizing circuit for synthesizing an image from the image data stored in the image memory and an output circuit for converting an output signal from the image synthesizing circuit to a video signal for outputting the video signal. The method provides the steps of storing image data of an object to be drawn in a drawing area of an image memory, storing moving image data in a texture area of the image memory, and mapping a texture of the moving image stored in the texture area onto the surface of the object stored in the drawing area.

This is a continuation of application Ser. No. 08/154,620 filed Nov. 18,1993 now U.S. Pat. No. 5,537,224.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates generally to an image processing apparatus andmethod for generating an image from data stored in a memory and, morespecifically, to generating an image that has texture or ornamentationon its surfaces, such as an image for use in a computer game.

2. Description of the Background

In order to enjoy a computer game high-speed processing and an excellentgraphics display ability are required. Among such video games it isrequired to display a 3-dimensional object at a high speed, to realizevisual effects such as textures or the like, or to display otherinformation with reality. The texture is intended to cause a visualeffect that is peculiar to the particular 3-dimensional object byseemingly adhering a pattern, which was defined in a different place,onto the surface of the 3-dimensional object. As examples of suchpatterns which are adhered to the surface of the object, there is ageometric pattern or a still pattern, such as a photograph, a handwritten drawing, or the like.

It is also desirable that a moving image be used as a texture pattern inorder to provide distinctive computer graphics. Hitherto, however, atexture pattern has been predetermined and the texture pattern cannotdynamically be rewritten onto selected images. Therefore, the texturepattern of the moving image cannot be adhered to the surface of theobject using computer graphics.

Further, since the texture pattern cannot dynamically be rewritten asmentioned above, a texture having a large change cannot be adhered tothe surface of the object.

Moreover, hitherto, the number of colors of the texture pattern islimited due to a limitation in number of bits and a number of colorsthat can be expressed.

OBJECTS AND SUMMARY OF THE INVENTION

Therefore, it is an object of the present invention to provide an imageprocessing apparatus that can adhere a texture pattern of a moving imageto an object using computer graphics.

Another object of the present invention is to provide an imageprocessing method that can adhere a texture pattern having a largechange to an object using computer graphics.

Still another object of the present invention is to provide an imageprocessing method that can express a number of colors using a relativelysmall number of bits.

According to an aspect of the invention, there is provided an imageprocessing apparatus for producing an image from image data whichincludes an image memory having a drawing area to store data of anobject to be drawn and a texture area to store texture image data usedto decorate an object, a supply circuit for supplying image data to theimage memory, a selector for selectively supplying the image data fromthe supply circuit to the drawing area and the texture area, an imagesynthesizer for synthesizing an image from the image data stored in theimage memory, and an output circuit for converting an output signal fromthe image synthesizer to a video signal for outputting the video signal.

According to another aspect of the present invention, there is providedimage processing apparatus for producing an image from image data whichincluding an image memory having a drawing area to store an image of anobject to be drawn and a texture area to store a texture image todecorate such object, a supply circuit for supplying image data to theimage memory, a transferring circuit for transferring the image datastored in the drawing area, an image synthesizing circuit forsynthesizing an image from the image data stored in the image memory,and output circuit for converting an output signal from the imagesynthesizing circuit to a video signal and for outputting the videosignal.

According to still another object of the present invention, there isprovided an image processing method for producing an image from imagedata which including the steps of storing image data of an object to bedrawn in a drawing area of an image memory, storing moving image data ina texture area of the image memory, and mapping a texture of the movingimage stored in the texture area onto the surface of the object storedin the drawing area.

According to yet another object of the present invention, there isprovided an image processing method for producing an image from imagedata which including the steps of storing image data of an object to bedrawn in a drawing area of an image memory, storing texture image datato decorate an object in a texture area of the image memory, mapping thetexture pattern stored in the texture area onto the object stored in thedrawing area, and rearranging the object onto which the texture patternwas mapped in the texture area.

The above and other objects, features, and advantages of the presentinvention will become readily apparent from the following detaileddescription thereof, which is to be read in connection with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an embodiment of the present invention;

FIG. 2 is a flowchart useful in explaining an embodiment of the presentinvention;

FIG. 3 is a diagram useful in explaining a memory construction in anembodiment of the present invention;

FIGS. 4A-4C are diagrams useful in explaining a texture operation in anembodiment of the present invention;

FIGS. 5A-5C are diagrams useful in explaining a texture operation in anembodiment of the present invention;

FIG. 6 is a diagram useful in explaining a texture operation in anembodiment of the present invention;

FIG. 7 is a diagram useful in explaining a texture operation in anembodiment of the present invention; and

FIG. 8 is a diagram useful in explaining a color look-up table in anembodiment of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

FIG. 1 shows one embodiment of the present invention, in which a CPU 2,a main memory 3, an image expansion unit 4, a CD-ROM decoder 5, an imagesynthesis unit 6, a coordinate transformation unit 7, and a DMAcontroller 8 are connected to a system bus 1.

A CPU of 32 bits is advantageously used as the CPU 2, and this CPU 2manages the whole system. For example, a sorting process to decide theorder within which to draw a polygon onto a screen is executed by theCPU 2.

The image expansion unit 4 executes an expanding process of an imagethat was compressed by a discrete cosine transform (DCT), for example.

The CD-ROM decoder 5 is connected to a CD-ROM driver 9 and decodes anapplication program or data from a CD-ROM loaded in the CD-ROM driver 9.Moving image data, which can be image data compressed by a DCT, can berecorded in the CD-ROM.

The image synthesis unit 6 is connected to a frame memory 10 through alocal bus 11. The frame memory 10 is constructed by two frame memories,and the two frame memories are switched every vertical period. The framememory 10 includes a texture area to store a texture image and a drawingarea to store an image to be drawn. Further, a color look-up table(CLUT) is provided in the frame memory 10. An output for display of theimage generated by the image synthesis unit 6 is generated through a D/Aconverter 12.

As an example of the computer generated image operation the imagesynthesis unit 6 executes a slope calculation and a polygon drawing. Thepolygon data in the main memory 3, which was sorted by the CPU 2, issent to the image synthesis unit 6 in the sorted order and a slope iscalculated by a slope calculating unit (not shown) that is part of theimage synthesis unit 6. The slope calculation is a calculation to obtaina slope of a plane of the modified mapping data when the inside of apolygon is filled with mapping data in the drawing of a polygon. In thecase of texture, the polygon is filled with texture data and in the caseof Gouraud shading, the polygon is filled with luminance values.

The coordinate transformation unit 7 executes a 3-dimensional coordinatetransformation and a conversion from 3-dimensional data to 2-dimensionaldata for display on the screen. The coordinate transformation unit 7 andthe main memory 3 can perform direct memory access (DMA) transfer of thedata by the DMA controller 8. The coordinate transformation unitapparatus 7 obtains the data from the main memory 3 through the systembus 1 and executes a coordinate transformation of the data and thenagain transfers the converted data back into the main memory 3 throughthe system bus 1. Data of an object represented in the 3-dimensionalspace comprises modeling data indicative of a shape of the object andgeometry data indicative of the coordinate position orientation of theobject to be displayed.

The DMA controller 8 executes controls relevant to image synthesizingprocesses that use memories, such as the writing of data to memories andthe reading of data from memories.

FIG. 2 shows a flowchart of the overall steps involved in providing thepolygon drawing. When a command is generated from the CPU 2 in step 101,the data from the main memory 3 is transferred to the coordinatetransforming apparatus 7 through the system bus 1. The 3-dimensionalcoordinate transformation is then executed in the coordinatetransforming apparatus 7 in step 102, so that the data is converted from3-dimensional data to 2-dimensional data for the screen in step 103. Theconverted data is transferred to the main memory 3 through the systembus 1 and is sorted by the CPU 2 in step 104. The data sorted by the CPU2 is sent to the image synthesis unit 6 through the system bus 1. Theslope is calculated by the image synthesizing apparatus 6 in step 105and a polygon to be displayed is drawn in step 106. The resultant imageis generated and displayed in step 107.

The frame memory 10 has a texture area to store the texture image and adrawing area to store the image to be drawn, and FIG. 3 shows a memoryspace of the frame memory 10. The frame memory 10 has been addressed by2-dimensional addresses of columns and rows. In the 2-dimensionaladdress space, areas AT1, AT2, AT3, and so on are set as the textureareas and any number of kinds of texture patterns can be arranged intothe texture areas AT1, AT2, AT3, and so on. AD1 denotes a drawing areaand an image plane to be drawn is developed in the drawing area AD1. Theareas AC1, AC2, AC3, and so on denote color look-up table (CLUT) areas.

In the case of adhering the texture to the surface of the object thathas been generated, the texture data in the texture areas AT1, AT2, AT3is 2-dimensional mapping transformed. For example, the texture patternTPa as shown in FIG. 4A is coordinate transformed onto a 2-dimensionalscreen as shown in FIG. 4B. The 2-dimensional mapping transformedtexture pattern TP1 is sent to the drawing area AD1 as shown in FIG. 4Cand synthesized onto the surface of the object on the drawing area AD1.

In the case of mapping the texture to the image of a polygon, texturepatterns T1, T2, and T3 in the texture areas AT1, AT2, and AT3 as shownin FIG. 5A are read out and are 2-dimensional mapping transformed andadhered onto the surfaces of a solid object OB1 shown in FIG. 5B.Subsequently, as shown in FIG. 5C, the textures T1, T2, and T3 areadhered onto the surfaces of the object OB1 and are arranged in thedrawing area AD1. The image plane of the drawing area AD1 is thendisplay ed on the screen as the computer generated graphic.

In the case of still image, the texture patterns in the main memory 3are transferred to the texture areas AT1, AT2, AT3, and so on in theframe memory 10 through the image synthesis unit 6, and the imagesynthesis unit 6 adheres the texture patterns to the surfaces of thepolygon which appear on the screen. Due to this operation, the textureof the still image is realized on the object.

Further, a texture can also be applied to a moving image. In the case ofa moving image, the compressed moving image data from the CD-ROM is onceread into the main memory 3 and the compressed image data is then sentto the image expander 4. The image data is expanded by the imageexpander 4 and the moving image data is sent to the texture areas AT1,AT2, AT3, and so on in the frame memory 10. Because the texture areasAT1, AT2, AT3 are provided in the frame memory 10, the texture patternitself can be also rewritten every frame. When the moving image data issent to the texture areas AT1, AT2, and AT3 the texture is dynamicallyrewritten and changes in the texture of the moving image are realized.

The compressed moving image data from the CD-ROM is read into the mainmemory 3, the compressed image data is expanded by the image expander 4,and the expanded data is sent to the drawing area AD1 in the framememory 10, so that the moving image can be directly drawn on the screen.

Further, the object in the drawing area AD1 in the frame memory 10 canbe moved to the texture areas AT1, AT2, AT3. Due to this, the objectwith the texture pattern adhered thereto can be further set as the nexttexture pattern. Due to this, a texture pattern having a very largechange can be formed.

For instance, as shown in FIG. 7, texture patterns T11, T12, and T13existing in the texture areas AT1, AT2, and AT3, respectively, areadhered to the object and developed into the drawing area AD1. The imageplane in the drawing area AD1 is subsequently moved to the texture areaAT4 and a texture pattern T14 in the texture area AT4 is further adheredto an object OB22. As mentioned above, the object to which the texturewas adhered can itself become a texture.

The color look-up table (CLUT) areas AC1, AC2, and AC3 are provided inthe frame memory 10. For instance, as shown in FIG. 8, CLUT tables C1,C2, C3 are provided in the areas AC1, AC2, AC3 for texture patterns T21,T22, T23, respectively. The colors of the texture patterns T21, T22, T23are designated by the CLUT tables C1, C2, and C3, respectively.

In many cases, such as where an image is used as a texture pattern, aspecial color is used, like a surface pattern of brick. In such animage, by previously registering into the CLUT the colors that are used,the number of bits per pixel can be reduced. Nevertheless, in general,the kinds of colors that are used have a tendency such that they aredifferent for every texture, for example, the surface pattern of brickand the surface pattern of stone. When such different surfaces must beexpressed by a single CLUT, the image quality is deteriorated due to thedecrease in number of colors. According to an embodiment of theinvention, therefore, a plurality of CLUT tables C1, C2, and C3 areprepared and the CLUT can be selected for each specific texture.

There is no need to have a one-to-one corresponding relation between theCLUT table and the texture pattern. One CLUT table can also be commonlyused by a plurality of texture patterns. For example, assuming that thenumber of bits of the texture is equal to four, when a single CLUT tableis used, the number of colors which can be expressed by the texturemapping is equal to only sixteen. However, if the CLUT table can beselected for every texture pattern, the number of colors that can beexpressed in three texture patterns is equal to 48 colors, even when thenumber of bits is only equal to four.

Having described a specific preferred embodiment of the presentinvention with reference to the accompanying drawings, it is to beunderstood that the invention is not limited to that precise embodiment,and that various changes and modifications may be effected therein byone skilled in the art without departing from the scope or the spirit ofthe invention as defined in the appended claims.

For example, according to the embodiment described above, the image datahas been compressed and recorded in the CD-ROM, however, the image datacan be also compressed and recorded on other recording medium, such as amagnetic disc or a semiconductor memory, like a memory card.

The image compressing method is not limited to the DCT but othercompressing methods can be also advantageously used.

What is claimed is:
 1. An image processing apparatus for producing atextured image from three-dimensional image data of an object, saidapparatus comprising:a main memory for storing three-dimensional imagedata; means for converting said three-dimensional image data totwo-dimensional image data by executing three-dimensional coordinatetransformation on said three-dimensional image data; an image memoryhaving a plurality of frame memories respectively corresponding to aplurality of frames, each of said frame memories including therein adrawing area for storing an image to be drawn and a texture area forstoring texture data, said drawing area and said texture area of each ofsaid frame memories being arranged at a same address space of said imagememory; image synthesizing means connected to said image memory forapplying texture to said two-dimensional image data in said drawing areabased on said texture data, said two-dimensional image data beingconverted from said three-dimensional image data by said means forconverting, wherein a texture pattern of said two-dimensional image datain said drawing area is rewritten for each of said plurality of framesbased on said texture data respectively included in each of saidplurality of frame memories respectively corresponding to each of saidplurality of frames; and output means for converting an output signalread out from said image memory to a video signal to be displayed.
 2. Animage processing apparatus according to claim 1, wherein each of saidframe memories further includes a color look-up table area for storing acolor look-up table having color information related to said texturedata.
 3. An image processing apparatus for producing a colored imagefrom three-dimensional image data of an object, said apparatuscomprising:a main memory for storing three-dimensional image data; meansfor converting said three-dimensional image data to two-dimensionalimage data by executing three-dimensional coordinate transformation onsaid three-dimensional image data; an image memory having a plurality offrame memories respectively corresponding to a plurality of frames, eachof said frame memories including therein a drawing area for storing animage to be drawn and a color look-up table area for storing colorinformation, said drawing area and said color look-up table area of eachof said frame memories being arranged at a same address space of saidimage memory; image synthesizing means connected to said image memoryfor applying color to said two-dimensional image data in said drawingarea based on said color information, said two-dimensional image databeing converted from said three-dimensional image data by said means forconverting, wherein a color pattern of said two-dimensional image datain said drawing area is rewritten for each of said plurality of framesbased on said color information respectively included in each of saidplurality of frame memories respectively corresponding to each of saidplurality of frames; and output means for converting an output signalread out from said image memory to a video signal to be displayed.
 4. Animage processing apparatus according to claim 3, wherein each of saidframe memories further includes a texture data area for storing texturedata, wherein a color corresponding to said texture data is representedby said color information stored in said color look-up table.
 5. Animage processing method comprising the steps of:transformingthree-dimensional image data into two-dimensional image data byexecuting three-dimensional coordinate transformation on saidthree-dimensional image data; storing said two-dimensional image data ina drawing area of a frame memory of an image memory, wherein said imagememory includes a plurality of frame memories respectively correspondingto a plurality of frames; storing texture data corresponding to saidtwo-dimensional image data in a texture area of said frame memory,wherein said drawing area and said texture area share a common framememory of said image memory such that each of said plurality of framememories includes a respective drawing area and a respective texturearea; applying a texture pattern to said two-dimensional image data insaid drawing area based on said texture data to form texturedtwo-dimensional image data, said two-dimensional image data beingtransformed from said three-dimensional image data by saidthree-dimensional coordinate transformation; updating said texturepattern of said two-dimensional image data for each of said plurality offrames based on said texture data respectively in each of said pluralityof frame memories which respectively correspond to each of saidplurality of frames; and outputting said textured two-dimensional imagedata as a video signal.
 6. An image processing method comprising thesteps of:transforming three-dimensional image data into two-dimensionalimage data by executing three-dimensional coordinate transformation onsaid three-dimensional image data; storing said two-dimensional imagedata in a drawing area of a frame memory of an image memory, whereinsaid image memory includes a plurality of frame memories respectivelycorresponding to a plurality of frames; storing color informationcorresponding to said two-dimensional image data in a color look-uptable area of said frame memory; storing texture data corresponding tosaid two-dimensional image data in a texture area of said frame memory,wherein said drawing area, said color look-up table area, and saidtexture area share a common frame memory of said image memory; applyingcolor and a texture pattern to said two-dimensional image data in saiddrawing area based on said color information and said texture data,respectively, to form synthesized two-dimensional image data, saidtwo-dimensional image data being transformed from said three-dimensionalimage data by said three-dimensional coordinate transformation, whereineach of said plurality of frame memories includes a respective drawingarea, a respective color look-up table, and a respective texture area;updating said color and said texture pattern of said two-dimensionalimage data for each of said plurality of frames based on said colorinformation and said texture data in each of said plurality of framememories which respectively correspond to each of said plurality offrames; and outputting said synthesized two-dimensional image data as avideo signal.